
// MIT License
// 
// Copyright (c) 2009-2017 Luca Piccioni
// 
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// 
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
// 
// This file is automatically generated

// Disable "'token' is obsolete" warnings
#pragma warning disable 618

using System;

using Khronos;

namespace OpenVX
{
	/// <summary>
	/// Strongly typed enumeration Accessor.
	/// </summary>
	public enum Accessor
	{
		/// <summary>
		/// Strongly typed for value READ_ONLY.
		/// </summary>
		ReadOnly = VX.READ_ONLY,

		/// <summary>
		/// Strongly typed for value WRITE_ONLY.
		/// </summary>
		WriteOnly = VX.WRITE_ONLY,

		/// <summary>
		/// Strongly typed for value READ_AND_WRITE.
		/// </summary>
		ReadAndWrite = VX.READ_AND_WRITE,

	}

	/// <summary>
	/// Strongly typed enumeration Action.
	/// </summary>
	public enum Action
	{
		/// <summary>
		/// Strongly typed for value ACTION_CONTINUE.
		/// </summary>
		Continue = VX.ACTION_CONTINUE,

		/// <summary>
		/// Strongly typed for value ACTION_ABANDON.
		/// </summary>
		Abandon = VX.ACTION_ABANDON,

	}

	/// <summary>
	/// Strongly typed enumeration ArrayAttribute.
	/// </summary>
	public enum ArrayAttribute
	{
		/// <summary>
		/// Strongly typed for value ARRAY_ITEMTYPE.
		/// </summary>
		Itemtype = VX.ARRAY_ITEMTYPE,

		/// <summary>
		/// Strongly typed for value ARRAY_NUMITEMS.
		/// </summary>
		Numitems = VX.ARRAY_NUMITEMS,

		/// <summary>
		/// Strongly typed for value ARRAY_CAPACITY.
		/// </summary>
		Capacity = VX.ARRAY_CAPACITY,

		/// <summary>
		/// Strongly typed for value ARRAY_ITEMSIZE.
		/// </summary>
		Itemsize = VX.ARRAY_ITEMSIZE,

	}

	/// <summary>
	/// Strongly typed enumeration BorderMode.
	/// </summary>
	public enum BorderMode
	{
		/// <summary>
		/// Strongly typed for value BORDER_UNDEFINED.
		/// </summary>
		Undefined = VX.BORDER_UNDEFINED,

		/// <summary>
		/// Strongly typed for value BORDER_CONSTANT.
		/// </summary>
		Constant = VX.BORDER_CONSTANT,

		/// <summary>
		/// Strongly typed for value BORDER_REPLICATE.
		/// </summary>
		Replicate = VX.BORDER_REPLICATE,

	}

	/// <summary>
	/// Strongly typed enumeration BorderPolicy.
	/// </summary>
	public enum BorderPolicy
	{
		/// <summary>
		/// Strongly typed for value BORDER_POLICY_DEFAULT_TO_UNDEFINED.
		/// </summary>
		DefaultToUndefined = VX.BORDER_POLICY_DEFAULT_TO_UNDEFINED,

		/// <summary>
		/// Strongly typed for value BORDER_POLICY_RETURN_ERROR.
		/// </summary>
		ReturnError = VX.BORDER_POLICY_RETURN_ERROR,

	}

	/// <summary>
	/// Strongly typed enumeration Channel.
	/// </summary>
	public enum Channel
	{
		/// <summary>
		/// Strongly typed for value CHANNEL_0.
		/// </summary>
		Channel0 = VX.CHANNEL_0,

		/// <summary>
		/// Strongly typed for value CHANNEL_1.
		/// </summary>
		Channel1 = VX.CHANNEL_1,

		/// <summary>
		/// Strongly typed for value CHANNEL_2.
		/// </summary>
		Channel2 = VX.CHANNEL_2,

		/// <summary>
		/// Strongly typed for value CHANNEL_3.
		/// </summary>
		Channel3 = VX.CHANNEL_3,

		/// <summary>
		/// Strongly typed for value CHANNEL_R.
		/// </summary>
		ChannelR = VX.CHANNEL_R,

		/// <summary>
		/// Strongly typed for value CHANNEL_G.
		/// </summary>
		ChannelG = VX.CHANNEL_G,

		/// <summary>
		/// Strongly typed for value CHANNEL_B.
		/// </summary>
		ChannelB = VX.CHANNEL_B,

		/// <summary>
		/// Strongly typed for value CHANNEL_A.
		/// </summary>
		ChannelA = VX.CHANNEL_A,

		/// <summary>
		/// Strongly typed for value CHANNEL_Y.
		/// </summary>
		ChannelY = VX.CHANNEL_Y,

		/// <summary>
		/// Strongly typed for value CHANNEL_U.
		/// </summary>
		ChannelU = VX.CHANNEL_U,

		/// <summary>
		/// Strongly typed for value CHANNEL_V.
		/// </summary>
		ChannelV = VX.CHANNEL_V,

	}

	/// <summary>
	/// Strongly typed enumeration ChannelRange.
	/// </summary>
	public enum ChannelRange
	{
		/// <summary>
		/// Strongly typed for value CHANNEL_RANGE_FULL.
		/// </summary>
		Full = VX.CHANNEL_RANGE_FULL,

		/// <summary>
		/// Strongly typed for value CHANNEL_RANGE_RESTRICTED.
		/// </summary>
		Restricted = VX.CHANNEL_RANGE_RESTRICTED,

	}

	/// <summary>
	/// Strongly typed enumeration ColorSpace.
	/// </summary>
	public enum ColorSpace
	{
		/// <summary>
		/// Strongly typed for value COLOR_SPACE_NONE.
		/// </summary>
		None = VX.COLOR_SPACE_NONE,

		/// <summary>
		/// Strongly typed for value COLOR_SPACE_BT601_525.
		/// </summary>
		Bt601525 = VX.COLOR_SPACE_BT601_525,

		/// <summary>
		/// Strongly typed for value COLOR_SPACE_BT601_625.
		/// </summary>
		Bt601625 = VX.COLOR_SPACE_BT601_625,

		/// <summary>
		/// Strongly typed for value COLOR_SPACE_BT709.
		/// </summary>
		Bt709 = VX.COLOR_SPACE_BT709,

		/// <summary>
		/// Strongly typed for value COLOR_SPACE_DEFAULT.
		/// </summary>
		Default = VX.COLOR_SPACE_DEFAULT,

	}

	/// <summary>
	/// Strongly typed enumeration CompareMetric.
	/// </summary>
	public enum CompareMetric
	{
		/// <summary>
		/// Strongly typed for value COMPARE_HAMMING.
		/// </summary>
		Hamming = VX.COMPARE_HAMMING,

		/// <summary>
		/// Strongly typed for value COMPARE_L1.
		/// </summary>
		L1 = VX.COMPARE_L1,

		/// <summary>
		/// Strongly typed for value COMPARE_L2.
		/// </summary>
		L2 = VX.COMPARE_L2,

		/// <summary>
		/// Strongly typed for value COMPARE_CCORR.
		/// </summary>
		Ccorr = VX.COMPARE_CCORR,

		/// <summary>
		/// Strongly typed for value COMPARE_L2_NORM.
		/// </summary>
		L2Norm = VX.COMPARE_L2_NORM,

		/// <summary>
		/// Strongly typed for value COMPARE_CCORR_NORM.
		/// </summary>
		CcorrNorm = VX.COMPARE_CCORR_NORM,

	}

	/// <summary>
	/// Strongly typed enumeration ContextAttribute.
	/// </summary>
	public enum ContextAttribute
	{
		/// <summary>
		/// Strongly typed for value CONTEXT_VENDOR_ID.
		/// </summary>
		VendorId = VX.CONTEXT_VENDOR_ID,

		/// <summary>
		/// Strongly typed for value CONTEXT_VERSION.
		/// </summary>
		Version = VX.CONTEXT_VERSION,

		/// <summary>
		/// Strongly typed for value CONTEXT_UNIQUE_KERNELS.
		/// </summary>
		UniqueKernels = VX.CONTEXT_UNIQUE_KERNELS,

		/// <summary>
		/// Strongly typed for value CONTEXT_MODULES.
		/// </summary>
		Modules = VX.CONTEXT_MODULES,

		/// <summary>
		/// Strongly typed for value CONTEXT_REFERENCES.
		/// </summary>
		References = VX.CONTEXT_REFERENCES,

		/// <summary>
		/// Strongly typed for value CONTEXT_IMPLEMENTATION.
		/// </summary>
		Implementation = VX.CONTEXT_IMPLEMENTATION,

		/// <summary>
		/// Strongly typed for value CONTEXT_EXTENSIONS_SIZE.
		/// </summary>
		ExtensionsSize = VX.CONTEXT_EXTENSIONS_SIZE,

		/// <summary>
		/// Strongly typed for value CONTEXT_EXTENSIONS.
		/// </summary>
		Extensions = VX.CONTEXT_EXTENSIONS,

		/// <summary>
		/// Strongly typed for value CONTEXT_CONVOLUTION_MAX_DIMENSION.
		/// </summary>
		ConvolutionMaxDimension = VX.CONTEXT_CONVOLUTION_MAX_DIMENSION,

		/// <summary>
		/// Strongly typed for value CONTEXT_OPTICAL_FLOW_MAX_WINDOW_DIMENSION.
		/// </summary>
		OpticalFlowMaxWindowDimension = VX.CONTEXT_OPTICAL_FLOW_MAX_WINDOW_DIMENSION,

		/// <summary>
		/// Strongly typed for value CONTEXT_IMMEDIATE_BORDER.
		/// </summary>
		ImmediateBorder = VX.CONTEXT_IMMEDIATE_BORDER,

		/// <summary>
		/// Strongly typed for value CONTEXT_UNIQUE_KERNEL_TABLE.
		/// </summary>
		UniqueKernelTable = VX.CONTEXT_UNIQUE_KERNEL_TABLE,

		/// <summary>
		/// Strongly typed for value CONTEXT_IMMEDIATE_BORDER_POLICY.
		/// </summary>
		ImmediateBorderPolicy = VX.CONTEXT_IMMEDIATE_BORDER_POLICY,

		/// <summary>
		/// Strongly typed for value CONTEXT_NONLINEAR_MAX_DIMENSION.
		/// </summary>
		NonlinearMaxDimension = VX.CONTEXT_NONLINEAR_MAX_DIMENSION,

		/// <summary>
		/// Strongly typed for value CONTEXT_MAX_TENSOR_DIMS.
		/// </summary>
		MaxTensorDims = VX.CONTEXT_MAX_TENSOR_DIMS,

	}

	/// <summary>
	/// Strongly typed enumeration ConvertPolicy.
	/// </summary>
	public enum ConvertPolicy
	{
		/// <summary>
		/// Strongly typed for value CONVERT_POLICY_WRAP.
		/// </summary>
		Wrap = VX.CONVERT_POLICY_WRAP,

		/// <summary>
		/// Strongly typed for value CONVERT_POLICY_SATURATE.
		/// </summary>
		Saturate = VX.CONVERT_POLICY_SATURATE,

	}

	/// <summary>
	/// Strongly typed enumeration ConvolutionAttribute.
	/// </summary>
	public enum ConvolutionAttribute
	{
		/// <summary>
		/// Strongly typed for value CONVOLUTION_ROWS.
		/// </summary>
		Rows = VX.CONVOLUTION_ROWS,

		/// <summary>
		/// Strongly typed for value CONVOLUTION_COLUMNS.
		/// </summary>
		Columns = VX.CONVOLUTION_COLUMNS,

		/// <summary>
		/// Strongly typed for value CONVOLUTION_SCALE.
		/// </summary>
		Scale = VX.CONVOLUTION_SCALE,

		/// <summary>
		/// Strongly typed for value CONVOLUTION_SIZE.
		/// </summary>
		Size = VX.CONVOLUTION_SIZE,

	}

	/// <summary>
	/// Strongly typed enumeration DelayAttribute.
	/// </summary>
	public enum DelayAttribute
	{
		/// <summary>
		/// Strongly typed for value DELAY_TYPE.
		/// </summary>
		Type = VX.DELAY_TYPE,

		/// <summary>
		/// Strongly typed for value DELAY_SLOTS.
		/// </summary>
		Slots = VX.DELAY_SLOTS,

	}

	/// <summary>
	/// Strongly typed enumeration DfImage.
	/// </summary>
	public enum DfImage
	{
		/// <summary>
		/// Strongly typed for value DF_IMAGE_VIRT.
		/// </summary>
		Virt = VX.DF_IMAGE_VIRT,

		/// <summary>
		/// Strongly typed for value DF_IMAGE_RGB.
		/// </summary>
		Rgb = VX.DF_IMAGE_RGB,

		/// <summary>
		/// Strongly typed for value DF_IMAGE_RGBX.
		/// </summary>
		Rgbx = VX.DF_IMAGE_RGBX,

		/// <summary>
		/// Strongly typed for value DF_IMAGE_NV12.
		/// </summary>
		Nv12 = VX.DF_IMAGE_NV12,

		/// <summary>
		/// Strongly typed for value DF_IMAGE_NV21.
		/// </summary>
		Nv21 = VX.DF_IMAGE_NV21,

		/// <summary>
		/// Strongly typed for value DF_IMAGE_UYVY.
		/// </summary>
		Uyvy = VX.DF_IMAGE_UYVY,

		/// <summary>
		/// Strongly typed for value DF_IMAGE_YUYV.
		/// </summary>
		Yuyv = VX.DF_IMAGE_YUYV,

		/// <summary>
		/// Strongly typed for value DF_IMAGE_IYUV.
		/// </summary>
		Iyuv = VX.DF_IMAGE_IYUV,

		/// <summary>
		/// Strongly typed for value DF_IMAGE_YUV4.
		/// </summary>
		Yuv4 = VX.DF_IMAGE_YUV4,

		/// <summary>
		/// Strongly typed for value DF_IMAGE_U8.
		/// </summary>
		U8 = VX.DF_IMAGE_U8,

		/// <summary>
		/// Strongly typed for value DF_IMAGE_U16.
		/// </summary>
		U16 = VX.DF_IMAGE_U16,

		/// <summary>
		/// Strongly typed for value DF_IMAGE_S16.
		/// </summary>
		S16 = VX.DF_IMAGE_S16,

		/// <summary>
		/// Strongly typed for value DF_IMAGE_U32.
		/// </summary>
		U32 = VX.DF_IMAGE_U32,

		/// <summary>
		/// Strongly typed for value DF_IMAGE_S32.
		/// </summary>
		S32 = VX.DF_IMAGE_S32,

	}

	/// <summary>
	/// Strongly typed enumeration Direction.
	/// </summary>
	public enum Direction
	{
		/// <summary>
		/// Strongly typed for value INPUT.
		/// </summary>
		Input = VX.INPUT,

		/// <summary>
		/// Strongly typed for value OUTPUT.
		/// </summary>
		Output = VX.OUTPUT,

		/// <summary>
		/// Strongly typed for value BIDIRECTIONAL.
		/// </summary>
		Bidirectional = VX.BIDIRECTIONAL,

	}

	/// <summary>
	/// Strongly typed enumeration Directive.
	/// </summary>
	public enum Directive
	{
		/// <summary>
		/// Strongly typed for value DIRECTIVE_DISABLE_LOGGING.
		/// </summary>
		DisableLogging = VX.DIRECTIVE_DISABLE_LOGGING,

		/// <summary>
		/// Strongly typed for value DIRECTIVE_ENABLE_LOGGING.
		/// </summary>
		EnableLogging = VX.DIRECTIVE_ENABLE_LOGGING,

		/// <summary>
		/// Strongly typed for value DIRECTIVE_DISABLE_PERFORMANCE.
		/// </summary>
		DisablePerformance = VX.DIRECTIVE_DISABLE_PERFORMANCE,

		/// <summary>
		/// Strongly typed for value DIRECTIVE_ENABLE_PERFORMANCE.
		/// </summary>
		EnablePerformance = VX.DIRECTIVE_ENABLE_PERFORMANCE,

	}

	/// <summary>
	/// Strongly typed enumeration DistributionAttribute.
	/// </summary>
	public enum DistributionAttribute
	{
		/// <summary>
		/// Strongly typed for value DISTRIBUTION_DIMENSIONS.
		/// </summary>
		Dimensions = VX.DISTRIBUTION_DIMENSIONS,

		/// <summary>
		/// Strongly typed for value DISTRIBUTION_OFFSET.
		/// </summary>
		Offset = VX.DISTRIBUTION_OFFSET,

		/// <summary>
		/// Strongly typed for value DISTRIBUTION_RANGE.
		/// </summary>
		Range = VX.DISTRIBUTION_RANGE,

		/// <summary>
		/// Strongly typed for value DISTRIBUTION_BINS.
		/// </summary>
		Bins = VX.DISTRIBUTION_BINS,

		/// <summary>
		/// Strongly typed for value DISTRIBUTION_WINDOW.
		/// </summary>
		Window = VX.DISTRIBUTION_WINDOW,

		/// <summary>
		/// Strongly typed for value DISTRIBUTION_SIZE.
		/// </summary>
		Size = VX.DISTRIBUTION_SIZE,

	}

	/// <summary>
	/// Strongly typed enumeration Enum.
	/// </summary>
	public enum Enum
	{
		/// <summary>
		/// Strongly typed for value ENUM_DIRECTION.
		/// </summary>
		Direction = VX.ENUM_DIRECTION,

		/// <summary>
		/// Strongly typed for value ENUM_ACTION.
		/// </summary>
		Action = VX.ENUM_ACTION,

		/// <summary>
		/// Strongly typed for value ENUM_HINT.
		/// </summary>
		Hint = VX.ENUM_HINT,

		/// <summary>
		/// Strongly typed for value ENUM_DIRECTIVE.
		/// </summary>
		Directive = VX.ENUM_DIRECTIVE,

		/// <summary>
		/// Strongly typed for value ENUM_INTERPOLATION.
		/// </summary>
		Interpolation = VX.ENUM_INTERPOLATION,

		/// <summary>
		/// Strongly typed for value ENUM_OVERFLOW.
		/// </summary>
		Overflow = VX.ENUM_OVERFLOW,

		/// <summary>
		/// Strongly typed for value ENUM_COLOR_SPACE.
		/// </summary>
		ColorSpace = VX.ENUM_COLOR_SPACE,

		/// <summary>
		/// Strongly typed for value ENUM_COLOR_RANGE.
		/// </summary>
		ColorRange = VX.ENUM_COLOR_RANGE,

		/// <summary>
		/// Strongly typed for value ENUM_PARAMETER_STATE.
		/// </summary>
		ParameterState = VX.ENUM_PARAMETER_STATE,

		/// <summary>
		/// Strongly typed for value ENUM_CHANNEL.
		/// </summary>
		Channel = VX.ENUM_CHANNEL,

		/// <summary>
		/// Strongly typed for value ENUM_CONVERT_POLICY.
		/// </summary>
		ConvertPolicy = VX.ENUM_CONVERT_POLICY,

		/// <summary>
		/// Strongly typed for value ENUM_THRESHOLD_TYPE.
		/// </summary>
		ThresholdType = VX.ENUM_THRESHOLD_TYPE,

		/// <summary>
		/// Strongly typed for value ENUM_BORDER.
		/// </summary>
		Border = VX.ENUM_BORDER,

		/// <summary>
		/// Strongly typed for value ENUM_COMPARISON.
		/// </summary>
		Comparison = VX.ENUM_COMPARISON,

		/// <summary>
		/// Strongly typed for value ENUM_MEMORY_TYPE.
		/// </summary>
		MemoryType = VX.ENUM_MEMORY_TYPE,

		/// <summary>
		/// Strongly typed for value ENUM_TERM_CRITERIA.
		/// </summary>
		TermCriteria = VX.ENUM_TERM_CRITERIA,

		/// <summary>
		/// Strongly typed for value ENUM_NORM_TYPE.
		/// </summary>
		NormType = VX.ENUM_NORM_TYPE,

		/// <summary>
		/// Strongly typed for value ENUM_ACCESSOR.
		/// </summary>
		Accessor = VX.ENUM_ACCESSOR,

		/// <summary>
		/// Strongly typed for value ENUM_ROUND_POLICY.
		/// </summary>
		RoundPolicy = VX.ENUM_ROUND_POLICY,

		/// <summary>
		/// Strongly typed for value ENUM_TARGET.
		/// </summary>
		Target = VX.ENUM_TARGET,

		/// <summary>
		/// Strongly typed for value ENUM_BORDER_POLICY.
		/// </summary>
		BorderPolicy = VX.ENUM_BORDER_POLICY,

		/// <summary>
		/// Strongly typed for value ENUM_GRAPH_STATE.
		/// </summary>
		GraphState = VX.ENUM_GRAPH_STATE,

		/// <summary>
		/// Strongly typed for value ENUM_NONLINEAR.
		/// </summary>
		Nonlinear = VX.ENUM_NONLINEAR,

		/// <summary>
		/// Strongly typed for value ENUM_PATTERN.
		/// </summary>
		Pattern = VX.ENUM_PATTERN,

		/// <summary>
		/// Strongly typed for value ENUM_LBP_FORMAT.
		/// </summary>
		LbpFormat = VX.ENUM_LBP_FORMAT,

		/// <summary>
		/// Strongly typed for value ENUM_COMP_METRIC.
		/// </summary>
		CompMetric = VX.ENUM_COMP_METRIC,

	}

	/// <summary>
	/// Strongly typed enumeration GraphAttribute.
	/// </summary>
	public enum GraphAttribute
	{
		/// <summary>
		/// Strongly typed for value GRAPH_NUMNODES.
		/// </summary>
		Numnodes = VX.GRAPH_NUMNODES,

		/// <summary>
		/// Strongly typed for value GRAPH_PERFORMANCE.
		/// </summary>
		Performance = VX.GRAPH_PERFORMANCE,

		/// <summary>
		/// Strongly typed for value GRAPH_NUMPARAMETERS.
		/// </summary>
		Numparameters = VX.GRAPH_NUMPARAMETERS,

		/// <summary>
		/// Strongly typed for value GRAPH_STATE.
		/// </summary>
		State = VX.GRAPH_STATE,

	}

	/// <summary>
	/// Strongly typed enumeration GraphState.
	/// </summary>
	public enum GraphState
	{
		/// <summary>
		/// Strongly typed for value GRAPH_STATE_UNVERIFIED.
		/// </summary>
		Unverified = VX.GRAPH_STATE_UNVERIFIED,

		/// <summary>
		/// Strongly typed for value GRAPH_STATE_VERIFIED.
		/// </summary>
		Verified = VX.GRAPH_STATE_VERIFIED,

		/// <summary>
		/// Strongly typed for value GRAPH_STATE_RUNNING.
		/// </summary>
		Running = VX.GRAPH_STATE_RUNNING,

		/// <summary>
		/// Strongly typed for value GRAPH_STATE_ABANDONED.
		/// </summary>
		Abandoned = VX.GRAPH_STATE_ABANDONED,

		/// <summary>
		/// Strongly typed for value GRAPH_STATE_COMPLETED.
		/// </summary>
		Completed = VX.GRAPH_STATE_COMPLETED,

	}

	/// <summary>
	/// Strongly typed enumeration Hint.
	/// </summary>
	public enum Hint
	{
		/// <summary>
		/// Strongly typed for value HINT_PERFORMANCE_DEFAULT.
		/// </summary>
		PerformanceDefault = VX.HINT_PERFORMANCE_DEFAULT,

		/// <summary>
		/// Strongly typed for value HINT_PERFORMANCE_LOW_POWER.
		/// </summary>
		PerformanceLowPower = VX.HINT_PERFORMANCE_LOW_POWER,

		/// <summary>
		/// Strongly typed for value HINT_PERFORMANCE_HIGH_SPEED.
		/// </summary>
		PerformanceHighSpeed = VX.HINT_PERFORMANCE_HIGH_SPEED,

	}

	/// <summary>
	/// Strongly typed enumeration ImageAttribute.
	/// </summary>
	public enum ImageAttribute
	{
		/// <summary>
		/// Strongly typed for value IMAGE_WIDTH.
		/// </summary>
		Width = VX.IMAGE_WIDTH,

		/// <summary>
		/// Strongly typed for value IMAGE_HEIGHT.
		/// </summary>
		Height = VX.IMAGE_HEIGHT,

		/// <summary>
		/// Strongly typed for value IMAGE_FORMAT.
		/// </summary>
		Format = VX.IMAGE_FORMAT,

		/// <summary>
		/// Strongly typed for value IMAGE_PLANES.
		/// </summary>
		Planes = VX.IMAGE_PLANES,

		/// <summary>
		/// Strongly typed for value IMAGE_SPACE.
		/// </summary>
		Space = VX.IMAGE_SPACE,

		/// <summary>
		/// Strongly typed for value IMAGE_RANGE.
		/// </summary>
		Range = VX.IMAGE_RANGE,

		/// <summary>
		/// Strongly typed for value IMAGE_MEMORY_TYPE.
		/// </summary>
		MemoryType = VX.IMAGE_MEMORY_TYPE,

		/// <summary>
		/// Strongly typed for value IMAGE_IS_UNIFORM.
		/// </summary>
		IsUniform = VX.IMAGE_IS_UNIFORM,

		/// <summary>
		/// Strongly typed for value IMAGE_UNIFORM_VALUE.
		/// </summary>
		UniformValue = VX.IMAGE_UNIFORM_VALUE,

	}

	/// <summary>
	/// Strongly typed enumeration InterpolationType.
	/// </summary>
	public enum InterpolationType
	{
		/// <summary>
		/// Strongly typed for value INTERPOLATION_NEAREST_NEIGHBOR.
		/// </summary>
		NearestNeighbor = VX.INTERPOLATION_NEAREST_NEIGHBOR,

		/// <summary>
		/// Strongly typed for value INTERPOLATION_BILINEAR.
		/// </summary>
		Bilinear = VX.INTERPOLATION_BILINEAR,

		/// <summary>
		/// Strongly typed for value INTERPOLATION_AREA.
		/// </summary>
		Area = VX.INTERPOLATION_AREA,

	}

	/// <summary>
	/// Strongly typed enumeration KernelAttribute.
	/// </summary>
	public enum KernelAttribute
	{
		/// <summary>
		/// Strongly typed for value KERNEL_PARAMETERS.
		/// </summary>
		Parameters = VX.KERNEL_PARAMETERS,

		/// <summary>
		/// Strongly typed for value KERNEL_NAME.
		/// </summary>
		Name = VX.KERNEL_NAME,

		/// <summary>
		/// Strongly typed for value KERNEL_ENUM.
		/// </summary>
		Enum = VX.KERNEL_ENUM,

		/// <summary>
		/// Strongly typed for value KERNEL_LOCAL_DATA_SIZE.
		/// </summary>
		LocalDataSize = VX.KERNEL_LOCAL_DATA_SIZE,

	}

	/// <summary>
	/// Strongly typed enumeration KernelType.
	/// </summary>
	public enum KernelType
	{
		/// <summary>
		/// Strongly typed for value KERNEL_COLOR_CONVERT.
		/// </summary>
		ColorConvert = VX.KERNEL_COLOR_CONVERT,

		/// <summary>
		/// Strongly typed for value KERNEL_CHANNEL_EXTRACT.
		/// </summary>
		ChannelExtract = VX.KERNEL_CHANNEL_EXTRACT,

		/// <summary>
		/// Strongly typed for value KERNEL_CHANNEL_COMBINE.
		/// </summary>
		ChannelCombine = VX.KERNEL_CHANNEL_COMBINE,

		/// <summary>
		/// Strongly typed for value KERNEL_SOBEL_3x3.
		/// </summary>
		Sobel3x3 = VX.KERNEL_SOBEL_3x3,

		/// <summary>
		/// Strongly typed for value KERNEL_MAGNITUDE.
		/// </summary>
		Magnitude = VX.KERNEL_MAGNITUDE,

		/// <summary>
		/// Strongly typed for value KERNEL_PHASE.
		/// </summary>
		Phase = VX.KERNEL_PHASE,

		/// <summary>
		/// Strongly typed for value KERNEL_SCALE_IMAGE.
		/// </summary>
		ScaleImage = VX.KERNEL_SCALE_IMAGE,

		/// <summary>
		/// Strongly typed for value KERNEL_TABLE_LOOKUP.
		/// </summary>
		TableLookup = VX.KERNEL_TABLE_LOOKUP,

		/// <summary>
		/// Strongly typed for value KERNEL_HISTOGRAM.
		/// </summary>
		Histogram = VX.KERNEL_HISTOGRAM,

		/// <summary>
		/// Strongly typed for value KERNEL_EQUALIZE_HISTOGRAM.
		/// </summary>
		EqualizeHistogram = VX.KERNEL_EQUALIZE_HISTOGRAM,

		/// <summary>
		/// Strongly typed for value KERNEL_ABSDIFF.
		/// </summary>
		Absdiff = VX.KERNEL_ABSDIFF,

		/// <summary>
		/// Strongly typed for value KERNEL_MEAN_STDDEV.
		/// </summary>
		MeanStddev = VX.KERNEL_MEAN_STDDEV,

		/// <summary>
		/// Strongly typed for value KERNEL_THRESHOLD.
		/// </summary>
		Threshold = VX.KERNEL_THRESHOLD,

		/// <summary>
		/// Strongly typed for value KERNEL_INTEGRAL_IMAGE.
		/// </summary>
		IntegralImage = VX.KERNEL_INTEGRAL_IMAGE,

		/// <summary>
		/// Strongly typed for value KERNEL_DILATE_3x3.
		/// </summary>
		Dilate3x3 = VX.KERNEL_DILATE_3x3,

		/// <summary>
		/// Strongly typed for value KERNEL_ERODE_3x3.
		/// </summary>
		Erode3x3 = VX.KERNEL_ERODE_3x3,

		/// <summary>
		/// Strongly typed for value KERNEL_MEDIAN_3x3.
		/// </summary>
		Median3x3 = VX.KERNEL_MEDIAN_3x3,

		/// <summary>
		/// Strongly typed for value KERNEL_BOX_3x3.
		/// </summary>
		Box3x3 = VX.KERNEL_BOX_3x3,

		/// <summary>
		/// Strongly typed for value KERNEL_GAUSSIAN_3x3.
		/// </summary>
		Gaussian3x3 = VX.KERNEL_GAUSSIAN_3x3,

		/// <summary>
		/// Strongly typed for value KERNEL_CUSTOM_CONVOLUTION.
		/// </summary>
		CustomConvolution = VX.KERNEL_CUSTOM_CONVOLUTION,

		/// <summary>
		/// Strongly typed for value KERNEL_GAUSSIAN_PYRAMID.
		/// </summary>
		GaussianPyramid = VX.KERNEL_GAUSSIAN_PYRAMID,

		/// <summary>
		/// Strongly typed for value KERNEL_ACCUMULATE.
		/// </summary>
		Accumulate = VX.KERNEL_ACCUMULATE,

		/// <summary>
		/// Strongly typed for value KERNEL_ACCUMULATE_WEIGHTED.
		/// </summary>
		AccumulateWeighted = VX.KERNEL_ACCUMULATE_WEIGHTED,

		/// <summary>
		/// Strongly typed for value KERNEL_ACCUMULATE_SQUARE.
		/// </summary>
		AccumulateSquare = VX.KERNEL_ACCUMULATE_SQUARE,

		/// <summary>
		/// Strongly typed for value KERNEL_MINMAXLOC.
		/// </summary>
		Minmaxloc = VX.KERNEL_MINMAXLOC,

		/// <summary>
		/// Strongly typed for value KERNEL_CONVERTDEPTH.
		/// </summary>
		Convertdepth = VX.KERNEL_CONVERTDEPTH,

		/// <summary>
		/// Strongly typed for value KERNEL_CANNY_EDGE_DETECTOR.
		/// </summary>
		CannyEdgeDetector = VX.KERNEL_CANNY_EDGE_DETECTOR,

		/// <summary>
		/// Strongly typed for value KERNEL_AND.
		/// </summary>
		And = VX.KERNEL_AND,

		/// <summary>
		/// Strongly typed for value KERNEL_OR.
		/// </summary>
		Or = VX.KERNEL_OR,

		/// <summary>
		/// Strongly typed for value KERNEL_XOR.
		/// </summary>
		Xor = VX.KERNEL_XOR,

		/// <summary>
		/// Strongly typed for value KERNEL_NOT.
		/// </summary>
		Not = VX.KERNEL_NOT,

		/// <summary>
		/// Strongly typed for value KERNEL_MULTIPLY.
		/// </summary>
		Multiply = VX.KERNEL_MULTIPLY,

		/// <summary>
		/// Strongly typed for value KERNEL_ADD.
		/// </summary>
		Add = VX.KERNEL_ADD,

		/// <summary>
		/// Strongly typed for value KERNEL_SUBTRACT.
		/// </summary>
		Subtract = VX.KERNEL_SUBTRACT,

		/// <summary>
		/// Strongly typed for value KERNEL_WARP_AFFINE.
		/// </summary>
		WarpAffine = VX.KERNEL_WARP_AFFINE,

		/// <summary>
		/// Strongly typed for value KERNEL_WARP_PERSPECTIVE.
		/// </summary>
		WarpPerspective = VX.KERNEL_WARP_PERSPECTIVE,

		/// <summary>
		/// Strongly typed for value KERNEL_HARRIS_CORNERS.
		/// </summary>
		HarrisCorners = VX.KERNEL_HARRIS_CORNERS,

		/// <summary>
		/// Strongly typed for value KERNEL_FAST_CORNERS.
		/// </summary>
		FastCorners = VX.KERNEL_FAST_CORNERS,

		/// <summary>
		/// Strongly typed for value KERNEL_OPTICAL_FLOW_PYR_LK.
		/// </summary>
		OpticalFlowPyrLk = VX.KERNEL_OPTICAL_FLOW_PYR_LK,

		/// <summary>
		/// Strongly typed for value KERNEL_REMAP.
		/// </summary>
		Remap = VX.KERNEL_REMAP,

		/// <summary>
		/// Strongly typed for value KERNEL_HALFSCALE_GAUSSIAN.
		/// </summary>
		HalfscaleGaussian = VX.KERNEL_HALFSCALE_GAUSSIAN,

		/// <summary>
		/// Strongly typed for value KERNEL_LAPLACIAN_PYRAMID.
		/// </summary>
		LaplacianPyramid = VX.KERNEL_LAPLACIAN_PYRAMID,

		/// <summary>
		/// Strongly typed for value KERNEL_LAPLACIAN_RECONSTRUCT.
		/// </summary>
		LaplacianReconstruct = VX.KERNEL_LAPLACIAN_RECONSTRUCT,

		/// <summary>
		/// Strongly typed for value KERNEL_NON_LINEAR_FILTER.
		/// </summary>
		NonLinearFilter = VX.KERNEL_NON_LINEAR_FILTER,

		/// <summary>
		/// Strongly typed for value KERNEL_MATCH_TEMPLATE.
		/// </summary>
		MatchTemplate = VX.KERNEL_MATCH_TEMPLATE,

		/// <summary>
		/// Strongly typed for value KERNEL_LBP.
		/// </summary>
		Lbp = VX.KERNEL_LBP,

		/// <summary>
		/// Strongly typed for value KERNEL_HOUGH_LINES_P.
		/// </summary>
		HoughLinesP = VX.KERNEL_HOUGH_LINES_P,

		/// <summary>
		/// Strongly typed for value KERNEL_TENSOR_MULTIPLY.
		/// </summary>
		TensorMultiply = VX.KERNEL_TENSOR_MULTIPLY,

		/// <summary>
		/// Strongly typed for value KERNEL_TENSOR_ADD.
		/// </summary>
		TensorAdd = VX.KERNEL_TENSOR_ADD,

		/// <summary>
		/// Strongly typed for value KERNEL_TENSOR_SUBTRACT.
		/// </summary>
		TensorSubtract = VX.KERNEL_TENSOR_SUBTRACT,

		/// <summary>
		/// Strongly typed for value KERNEL_TENSOR_TABLELOOKUP.
		/// </summary>
		TensorTablelookup = VX.KERNEL_TENSOR_TABLELOOKUP,

		/// <summary>
		/// Strongly typed for value KERNEL_TENSOR_TRANSPOSE.
		/// </summary>
		TensorTranspose = VX.KERNEL_TENSOR_TRANSPOSE,

		/// <summary>
		/// Strongly typed for value KERNEL_TENSOR_CONVERT_DEPTH.
		/// </summary>
		TensorConvertDepth = VX.KERNEL_TENSOR_CONVERT_DEPTH,

		/// <summary>
		/// Strongly typed for value KERNEL_TENSOR_MATRIX_MULTIPLY.
		/// </summary>
		TensorMatrixMultiply = VX.KERNEL_TENSOR_MATRIX_MULTIPLY,

		/// <summary>
		/// Strongly typed for value KERNEL_COPY.
		/// </summary>
		Copy = VX.KERNEL_COPY,

		/// <summary>
		/// Strongly typed for value KERNEL_NON_MAX_SUPPRESSION.
		/// </summary>
		NonMaxSuppression = VX.KERNEL_NON_MAX_SUPPRESSION,

		/// <summary>
		/// Strongly typed for value KERNEL_SCALAR_OPERATION.
		/// </summary>
		ScalarOperation = VX.KERNEL_SCALAR_OPERATION,

		/// <summary>
		/// Strongly typed for value KERNEL_HOG_FEATURES.
		/// </summary>
		HogFeatures = VX.KERNEL_HOG_FEATURES,

		/// <summary>
		/// Strongly typed for value KERNEL_HOG_CELLS.
		/// </summary>
		HogCells = VX.KERNEL_HOG_CELLS,

		/// <summary>
		/// Strongly typed for value KERNEL_BILATERAL_FILTER.
		/// </summary>
		BilateralFilter = VX.KERNEL_BILATERAL_FILTER,

		/// <summary>
		/// Strongly typed for value KERNEL_SELECT.
		/// </summary>
		Select = VX.KERNEL_SELECT,

	}

	/// <summary>
	/// Strongly typed enumeration LbpFormat.
	/// </summary>
	public enum LbpFormat
	{
		/// <summary>
		/// Strongly typed for value LBP.
		/// </summary>
		Lbp = VX.LBP,

		/// <summary>
		/// Strongly typed for value MLBP.
		/// </summary>
		Mlbp = VX.MLBP,

		/// <summary>
		/// Strongly typed for value ULBP.
		/// </summary>
		Ulbp = VX.ULBP,

	}

	/// <summary>
	/// Strongly typed enumeration Library.
	/// </summary>
	public enum Library
	{
		/// <summary>
		/// Strongly typed for value LIBRARY_KHR_BASE.
		/// </summary>
		KhrBase = VX.LIBRARY_KHR_BASE,

	}

	/// <summary>
	/// Strongly typed enumeration LutAttribute.
	/// </summary>
	public enum LutAttribute
	{
		/// <summary>
		/// Strongly typed for value LUT_TYPE.
		/// </summary>
		LutType = VX.LUT_TYPE,

		/// <summary>
		/// Strongly typed for value LUT_COUNT.
		/// </summary>
		LutCount = VX.LUT_COUNT,

		/// <summary>
		/// Strongly typed for value LUT_SIZE.
		/// </summary>
		LutSize = VX.LUT_SIZE,

		/// <summary>
		/// Strongly typed for value LUT_OFFSET.
		/// </summary>
		LutOffset = VX.LUT_OFFSET,

	}

	/// <summary>
	/// Strongly typed enumeration MapFlag.
	/// </summary>
	public enum MapFlag
	{
		/// <summary>
		/// Strongly typed for value NOGAP_X.
		/// </summary>
		NogapX = VX.NOGAP_X,

	}

	/// <summary>
	/// Strongly typed enumeration MatrixAttribute.
	/// </summary>
	public enum MatrixAttribute
	{
		/// <summary>
		/// Strongly typed for value MATRIX_TYPE.
		/// </summary>
		Type = VX.MATRIX_TYPE,

		/// <summary>
		/// Strongly typed for value MATRIX_ROWS.
		/// </summary>
		Rows = VX.MATRIX_ROWS,

		/// <summary>
		/// Strongly typed for value MATRIX_COLUMNS.
		/// </summary>
		Columns = VX.MATRIX_COLUMNS,

		/// <summary>
		/// Strongly typed for value MATRIX_SIZE.
		/// </summary>
		Size = VX.MATRIX_SIZE,

		/// <summary>
		/// Strongly typed for value MATRIX_ORIGIN.
		/// </summary>
		Origin = VX.MATRIX_ORIGIN,

		/// <summary>
		/// Strongly typed for value MATRIX_PATTERN.
		/// </summary>
		Pattern = VX.MATRIX_PATTERN,

	}

	/// <summary>
	/// Strongly typed enumeration MemoryType.
	/// </summary>
	public enum MemoryType
	{
		/// <summary>
		/// Strongly typed for value MEMORY_TYPE_NONE.
		/// </summary>
		None = VX.MEMORY_TYPE_NONE,

		/// <summary>
		/// Strongly typed for value MEMORY_TYPE_HOST.
		/// </summary>
		Host = VX.MEMORY_TYPE_HOST,

	}

	/// <summary>
	/// Strongly typed enumeration MetaValidRectAttribute.
	/// </summary>
	public enum MetaValidRectAttribute
	{
		/// <summary>
		/// Strongly typed for value VALID_RECT_CALLBACK.
		/// </summary>
		ValidRectCallback = VX.VALID_RECT_CALLBACK,

	}

	/// <summary>
	/// Strongly typed enumeration NodeAttribute.
	/// </summary>
	public enum NodeAttribute
	{
		/// <summary>
		/// Strongly typed for value NODE_STATUS.
		/// </summary>
		Status = VX.NODE_STATUS,

		/// <summary>
		/// Strongly typed for value NODE_PERFORMANCE.
		/// </summary>
		Performance = VX.NODE_PERFORMANCE,

		/// <summary>
		/// Strongly typed for value NODE_BORDER.
		/// </summary>
		Border = VX.NODE_BORDER,

		/// <summary>
		/// Strongly typed for value NODE_LOCAL_DATA_SIZE.
		/// </summary>
		LocalDataSize = VX.NODE_LOCAL_DATA_SIZE,

		/// <summary>
		/// Strongly typed for value NODE_LOCAL_DATA_PTR.
		/// </summary>
		LocalDataPtr = VX.NODE_LOCAL_DATA_PTR,

		/// <summary>
		/// Strongly typed for value NODE_PARAMETERS.
		/// </summary>
		Parameters = VX.NODE_PARAMETERS,

		/// <summary>
		/// Strongly typed for value NODE_IS_REPLICATED.
		/// </summary>
		IsReplicated = VX.NODE_IS_REPLICATED,

		/// <summary>
		/// Strongly typed for value NODE_REPLICATE_FLAGS.
		/// </summary>
		ReplicateFlags = VX.NODE_REPLICATE_FLAGS,

		/// <summary>
		/// Strongly typed for value NODE_VALID_RECT_RESET.
		/// </summary>
		ValidRectReset = VX.NODE_VALID_RECT_RESET,

	}

	/// <summary>
	/// Strongly typed enumeration NonLinearFilter.
	/// </summary>
	public enum NonLinearFilter
	{
		/// <summary>
		/// Strongly typed for value NONLINEAR_FILTER_MEDIAN.
		/// </summary>
		NonlinearFilterMedian = VX.NONLINEAR_FILTER_MEDIAN,

		/// <summary>
		/// Strongly typed for value NONLINEAR_FILTER_MIN.
		/// </summary>
		NonlinearFilterMin = VX.NONLINEAR_FILTER_MIN,

		/// <summary>
		/// Strongly typed for value NONLINEAR_FILTER_MAX.
		/// </summary>
		NonlinearFilterMax = VX.NONLINEAR_FILTER_MAX,

	}

	/// <summary>
	/// Strongly typed enumeration NormType.
	/// </summary>
	public enum NormType
	{
		/// <summary>
		/// Strongly typed for value NORM_L1.
		/// </summary>
		L1 = VX.NORM_L1,

		/// <summary>
		/// Strongly typed for value NORM_L2.
		/// </summary>
		L2 = VX.NORM_L2,

	}

	/// <summary>
	/// Strongly typed enumeration ObjectArrayAttribute.
	/// </summary>
	public enum ObjectArrayAttribute
	{
		/// <summary>
		/// Strongly typed for value OBJECT_ARRAY_ITEMTYPE.
		/// </summary>
		Itemtype = VX.OBJECT_ARRAY_ITEMTYPE,

		/// <summary>
		/// Strongly typed for value OBJECT_ARRAY_NUMITEMS.
		/// </summary>
		Numitems = VX.OBJECT_ARRAY_NUMITEMS,

	}

	/// <summary>
	/// Strongly typed enumeration ParameterAttribute.
	/// </summary>
	public enum ParameterAttribute
	{
		/// <summary>
		/// Strongly typed for value PARAMETER_INDEX.
		/// </summary>
		Index = VX.PARAMETER_INDEX,

		/// <summary>
		/// Strongly typed for value PARAMETER_DIRECTION.
		/// </summary>
		Direction = VX.PARAMETER_DIRECTION,

		/// <summary>
		/// Strongly typed for value PARAMETER_TYPE.
		/// </summary>
		Type = VX.PARAMETER_TYPE,

		/// <summary>
		/// Strongly typed for value PARAMETER_STATE.
		/// </summary>
		State = VX.PARAMETER_STATE,

		/// <summary>
		/// Strongly typed for value PARAMETER_REF.
		/// </summary>
		Ref = VX.PARAMETER_REF,

	}

	/// <summary>
	/// Strongly typed enumeration ParameterState.
	/// </summary>
	public enum ParameterState
	{
		/// <summary>
		/// Strongly typed for value PARAMETER_STATE_REQUIRED.
		/// </summary>
		Required = VX.PARAMETER_STATE_REQUIRED,

		/// <summary>
		/// Strongly typed for value PARAMETER_STATE_OPTIONAL.
		/// </summary>
		Optional = VX.PARAMETER_STATE_OPTIONAL,

	}

	/// <summary>
	/// Strongly typed enumeration Pattern.
	/// </summary>
	public enum Pattern
	{
		/// <summary>
		/// Strongly typed for value PATTERN_BOX.
		/// </summary>
		Box = VX.PATTERN_BOX,

		/// <summary>
		/// Strongly typed for value PATTERN_CROSS.
		/// </summary>
		Cross = VX.PATTERN_CROSS,

		/// <summary>
		/// Strongly typed for value PATTERN_DISK.
		/// </summary>
		Disk = VX.PATTERN_DISK,

		/// <summary>
		/// Strongly typed for value PATTERN_OTHER.
		/// </summary>
		Other = VX.PATTERN_OTHER,

	}

	/// <summary>
	/// Strongly typed enumeration PyramidAttribute.
	/// </summary>
	public enum PyramidAttribute
	{
		/// <summary>
		/// Strongly typed for value PYRAMID_LEVELS.
		/// </summary>
		Levels = VX.PYRAMID_LEVELS,

		/// <summary>
		/// Strongly typed for value PYRAMID_SCALE.
		/// </summary>
		Scale = VX.PYRAMID_SCALE,

		/// <summary>
		/// Strongly typed for value PYRAMID_WIDTH.
		/// </summary>
		Width = VX.PYRAMID_WIDTH,

		/// <summary>
		/// Strongly typed for value PYRAMID_HEIGHT.
		/// </summary>
		Height = VX.PYRAMID_HEIGHT,

		/// <summary>
		/// Strongly typed for value PYRAMID_FORMAT.
		/// </summary>
		Format = VX.PYRAMID_FORMAT,

	}

	/// <summary>
	/// Strongly typed enumeration ReferenceAttribute.
	/// </summary>
	public enum ReferenceAttribute
	{
		/// <summary>
		/// Strongly typed for value REFERENCE_COUNT.
		/// </summary>
		Count = VX.REFERENCE_COUNT,

		/// <summary>
		/// Strongly typed for value REFERENCE_TYPE.
		/// </summary>
		Type = VX.REFERENCE_TYPE,

		/// <summary>
		/// Strongly typed for value REFERENCE_NAME.
		/// </summary>
		Name = VX.REFERENCE_NAME,

	}

	/// <summary>
	/// Strongly typed enumeration RemapAttribute.
	/// </summary>
	public enum RemapAttribute
	{
		/// <summary>
		/// Strongly typed for value REMAP_SOURCE_WIDTH.
		/// </summary>
		SourceWidth = VX.REMAP_SOURCE_WIDTH,

		/// <summary>
		/// Strongly typed for value REMAP_SOURCE_HEIGHT.
		/// </summary>
		SourceHeight = VX.REMAP_SOURCE_HEIGHT,

		/// <summary>
		/// Strongly typed for value REMAP_DESTINATION_WIDTH.
		/// </summary>
		DestinationWidth = VX.REMAP_DESTINATION_WIDTH,

		/// <summary>
		/// Strongly typed for value REMAP_DESTINATION_HEIGHT.
		/// </summary>
		DestinationHeight = VX.REMAP_DESTINATION_HEIGHT,

	}

	/// <summary>
	/// Strongly typed enumeration RoundPolicy.
	/// </summary>
	public enum RoundPolicy
	{
		/// <summary>
		/// Strongly typed for value ROUND_POLICY_TO_ZERO.
		/// </summary>
		ToZero = VX.ROUND_POLICY_TO_ZERO,

		/// <summary>
		/// Strongly typed for value ROUND_POLICY_TO_NEAREST_EVEN.
		/// </summary>
		ToNearestEven = VX.ROUND_POLICY_TO_NEAREST_EVEN,

	}

	/// <summary>
	/// Strongly typed enumeration ScalarAttribute.
	/// </summary>
	public enum ScalarAttribute
	{
		/// <summary>
		/// Strongly typed for value SCALAR_TYPE.
		/// </summary>
		Type = VX.SCALAR_TYPE,

	}

	/// <summary>
	/// Strongly typed enumeration ScalarOperation.
	/// </summary>
	public enum ScalarOperation
	{
		/// <summary>
		/// Strongly typed for value SCALAR_OP_AND.
		/// </summary>
		And = VX.SCALAR_OP_AND,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_OR.
		/// </summary>
		Or = VX.SCALAR_OP_OR,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_XOR.
		/// </summary>
		Xor = VX.SCALAR_OP_XOR,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_NAND.
		/// </summary>
		Nand = VX.SCALAR_OP_NAND,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_EQUAL.
		/// </summary>
		Equal = VX.SCALAR_OP_EQUAL,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_NOTEQUAL.
		/// </summary>
		Notequal = VX.SCALAR_OP_NOTEQUAL,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_LESS.
		/// </summary>
		Less = VX.SCALAR_OP_LESS,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_LESSEQ.
		/// </summary>
		Lesseq = VX.SCALAR_OP_LESSEQ,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_GREATER.
		/// </summary>
		Greater = VX.SCALAR_OP_GREATER,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_GREATEREQ.
		/// </summary>
		Greatereq = VX.SCALAR_OP_GREATEREQ,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_ADD.
		/// </summary>
		Add = VX.SCALAR_OP_ADD,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_SUBTRACT.
		/// </summary>
		Subtract = VX.SCALAR_OP_SUBTRACT,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_MULTIPLY.
		/// </summary>
		Multiply = VX.SCALAR_OP_MULTIPLY,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_DIVIDE.
		/// </summary>
		Divide = VX.SCALAR_OP_DIVIDE,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_MODULUS.
		/// </summary>
		Modulus = VX.SCALAR_OP_MODULUS,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_MIN.
		/// </summary>
		Min = VX.SCALAR_OP_MIN,

		/// <summary>
		/// Strongly typed for value SCALAR_OP_MAX.
		/// </summary>
		Max = VX.SCALAR_OP_MAX,

	}

	/// <summary>
	/// Strongly typed enumeration Status.
	/// </summary>
	public enum Status
	{
		/// <summary>
		/// Strongly typed for value STATUS_MIN.
		/// </summary>
		StatusMin = VX.STATUS_MIN,

		/// <summary>
		/// Strongly typed for value ERROR_REFERENCE_NONZERO.
		/// </summary>
		ErrorReferenceNonzero = VX.ERROR_REFERENCE_NONZERO,

		/// <summary>
		/// Strongly typed for value ERROR_MULTIPLE_WRITERS.
		/// </summary>
		ErrorMultipleWriters = VX.ERROR_MULTIPLE_WRITERS,

		/// <summary>
		/// Strongly typed for value ERROR_GRAPH_ABANDONED.
		/// </summary>
		ErrorGraphAbandoned = VX.ERROR_GRAPH_ABANDONED,

		/// <summary>
		/// Strongly typed for value ERROR_GRAPH_SCHEDULED.
		/// </summary>
		ErrorGraphScheduled = VX.ERROR_GRAPH_SCHEDULED,

		/// <summary>
		/// Strongly typed for value ERROR_INVALID_SCOPE.
		/// </summary>
		ErrorInvalidScope = VX.ERROR_INVALID_SCOPE,

		/// <summary>
		/// Strongly typed for value ERROR_INVALID_NODE.
		/// </summary>
		ErrorInvalidNode = VX.ERROR_INVALID_NODE,

		/// <summary>
		/// Strongly typed for value ERROR_INVALID_GRAPH.
		/// </summary>
		ErrorInvalidGraph = VX.ERROR_INVALID_GRAPH,

		/// <summary>
		/// Strongly typed for value ERROR_INVALID_TYPE.
		/// </summary>
		ErrorInvalidType = VX.ERROR_INVALID_TYPE,

		/// <summary>
		/// Strongly typed for value ERROR_INVALID_VALUE.
		/// </summary>
		ErrorInvalidValue = VX.ERROR_INVALID_VALUE,

		/// <summary>
		/// Strongly typed for value ERROR_INVALID_DIMENSION.
		/// </summary>
		ErrorInvalidDimension = VX.ERROR_INVALID_DIMENSION,

		/// <summary>
		/// Strongly typed for value ERROR_INVALID_FORMAT.
		/// </summary>
		ErrorInvalidFormat = VX.ERROR_INVALID_FORMAT,

		/// <summary>
		/// Strongly typed for value ERROR_INVALID_LINK.
		/// </summary>
		ErrorInvalidLink = VX.ERROR_INVALID_LINK,

		/// <summary>
		/// Strongly typed for value ERROR_INVALID_REFERENCE.
		/// </summary>
		ErrorInvalidReference = VX.ERROR_INVALID_REFERENCE,

		/// <summary>
		/// Strongly typed for value ERROR_INVALID_MODULE.
		/// </summary>
		ErrorInvalidModule = VX.ERROR_INVALID_MODULE,

		/// <summary>
		/// Strongly typed for value ERROR_INVALID_PARAMETERS.
		/// </summary>
		ErrorInvalidParameters = VX.ERROR_INVALID_PARAMETERS,

		/// <summary>
		/// Strongly typed for value ERROR_OPTIMIZED_AWAY.
		/// </summary>
		ErrorOptimizedAway = VX.ERROR_OPTIMIZED_AWAY,

		/// <summary>
		/// Strongly typed for value ERROR_NO_MEMORY.
		/// </summary>
		ErrorNoMemory = VX.ERROR_NO_MEMORY,

		/// <summary>
		/// Strongly typed for value ERROR_NO_RESOURCES.
		/// </summary>
		ErrorNoResources = VX.ERROR_NO_RESOURCES,

		/// <summary>
		/// Strongly typed for value ERROR_NOT_COMPATIBLE.
		/// </summary>
		ErrorNotCompatible = VX.ERROR_NOT_COMPATIBLE,

		/// <summary>
		/// Strongly typed for value ERROR_NOT_ALLOCATED.
		/// </summary>
		ErrorNotAllocated = VX.ERROR_NOT_ALLOCATED,

		/// <summary>
		/// Strongly typed for value ERROR_NOT_SUFFICIENT.
		/// </summary>
		ErrorNotSufficient = VX.ERROR_NOT_SUFFICIENT,

		/// <summary>
		/// Strongly typed for value ERROR_NOT_SUPPORTED.
		/// </summary>
		ErrorNotSupported = VX.ERROR_NOT_SUPPORTED,

		/// <summary>
		/// Strongly typed for value ERROR_NOT_IMPLEMENTED.
		/// </summary>
		ErrorNotImplemented = VX.ERROR_NOT_IMPLEMENTED,

		/// <summary>
		/// Strongly typed for value FAILURE.
		/// </summary>
		Failure = VX.FAILURE,

		/// <summary>
		/// Strongly typed for value SUCCESS.
		/// </summary>
		Success = VX.SUCCESS,

	}

	/// <summary>
	/// Strongly typed enumeration Target.
	/// </summary>
	public enum Target
	{
		/// <summary>
		/// Strongly typed for value TARGET_ANY.
		/// </summary>
		Any = VX.TARGET_ANY,

		/// <summary>
		/// Strongly typed for value TARGET_STRING.
		/// </summary>
		String = VX.TARGET_STRING,

		/// <summary>
		/// Strongly typed for value TARGET_VENDOR_BEGIN.
		/// </summary>
		VendorBegin = VX.TARGET_VENDOR_BEGIN,

	}

	/// <summary>
	/// Strongly typed enumeration TensorAttribute.
	/// </summary>
	public enum TensorAttribute
	{
		/// <summary>
		/// Strongly typed for value TENSOR_NUMBER_OF_DIMS.
		/// </summary>
		NumberOfDims = VX.TENSOR_NUMBER_OF_DIMS,

		/// <summary>
		/// Strongly typed for value TENSOR_DIMS.
		/// </summary>
		Dims = VX.TENSOR_DIMS,

		/// <summary>
		/// Strongly typed for value TENSOR_DATA_TYPE.
		/// </summary>
		DataType = VX.TENSOR_DATA_TYPE,

		/// <summary>
		/// Strongly typed for value TENSOR_FIXED_POINT_POSITION.
		/// </summary>
		FixedPointPosition = VX.TENSOR_FIXED_POINT_POSITION,

	}

	/// <summary>
	/// Strongly typed enumeration TerminationCriteria.
	/// </summary>
	public enum TerminationCriteria
	{
		/// <summary>
		/// Strongly typed for value TERM_CRITERIA_ITERATIONS.
		/// </summary>
		Iterations = VX.TERM_CRITERIA_ITERATIONS,

		/// <summary>
		/// Strongly typed for value TERM_CRITERIA_EPSILON.
		/// </summary>
		Epsilon = VX.TERM_CRITERIA_EPSILON,

		/// <summary>
		/// Strongly typed for value TERM_CRITERIA_BOTH.
		/// </summary>
		Both = VX.TERM_CRITERIA_BOTH,

	}

	/// <summary>
	/// Strongly typed enumeration ThresholdAttribute.
	/// </summary>
	public enum ThresholdAttribute
	{
		/// <summary>
		/// Strongly typed for value THRESHOLD_TYPE.
		/// </summary>
		Type = VX.THRESHOLD_TYPE,

		/// <summary>
		/// Strongly typed for value THRESHOLD_INPUT_FORMAT.
		/// </summary>
		InputFormat = VX.THRESHOLD_INPUT_FORMAT,

		/// <summary>
		/// Strongly typed for value THRESHOLD_OUTPUT_FORMAT.
		/// </summary>
		OutputFormat = VX.THRESHOLD_OUTPUT_FORMAT,

	}

	/// <summary>
	/// Strongly typed enumeration ThresholdType.
	/// </summary>
	public enum ThresholdType
	{
		/// <summary>
		/// Strongly typed for value THRESHOLD_TYPE_BINARY.
		/// </summary>
		Binary = VX.THRESHOLD_TYPE_BINARY,

		/// <summary>
		/// Strongly typed for value THRESHOLD_TYPE_RANGE.
		/// </summary>
		Range = VX.THRESHOLD_TYPE_RANGE,

	}

	/// <summary>
	/// Strongly typed enumeration Type.
	/// </summary>
	public enum Type
	{
		/// <summary>
		/// Strongly typed for value TYPE_INVALID.
		/// </summary>
		Invalid = VX.TYPE_INVALID,

		/// <summary>
		/// Strongly typed for value TYPE_CHAR.
		/// </summary>
		Char = VX.TYPE_CHAR,

		/// <summary>
		/// Strongly typed for value TYPE_INT8.
		/// </summary>
		Int8 = VX.TYPE_INT8,

		/// <summary>
		/// Strongly typed for value TYPE_UINT8.
		/// </summary>
		Uint8 = VX.TYPE_UINT8,

		/// <summary>
		/// Strongly typed for value TYPE_INT16.
		/// </summary>
		Int16 = VX.TYPE_INT16,

		/// <summary>
		/// Strongly typed for value TYPE_UINT16.
		/// </summary>
		Uint16 = VX.TYPE_UINT16,

		/// <summary>
		/// Strongly typed for value TYPE_INT32.
		/// </summary>
		Int32 = VX.TYPE_INT32,

		/// <summary>
		/// Strongly typed for value TYPE_UINT32.
		/// </summary>
		Uint32 = VX.TYPE_UINT32,

		/// <summary>
		/// Strongly typed for value TYPE_INT64.
		/// </summary>
		Int64 = VX.TYPE_INT64,

		/// <summary>
		/// Strongly typed for value TYPE_UINT64.
		/// </summary>
		Uint64 = VX.TYPE_UINT64,

		/// <summary>
		/// Strongly typed for value TYPE_FLOAT32.
		/// </summary>
		Float32 = VX.TYPE_FLOAT32,

		/// <summary>
		/// Strongly typed for value TYPE_FLOAT64.
		/// </summary>
		Float64 = VX.TYPE_FLOAT64,

		/// <summary>
		/// Strongly typed for value TYPE_ENUM.
		/// </summary>
		Enum = VX.TYPE_ENUM,

		/// <summary>
		/// Strongly typed for value TYPE_SIZE.
		/// </summary>
		Size = VX.TYPE_SIZE,

		/// <summary>
		/// Strongly typed for value TYPE_DF_IMAGE.
		/// </summary>
		DfImage = VX.TYPE_DF_IMAGE,

		/// <summary>
		/// Strongly typed for value TYPE_FLOAT16.
		/// </summary>
		Float16 = VX.TYPE_FLOAT16,

		/// <summary>
		/// Strongly typed for value TYPE_BOOL.
		/// </summary>
		Bool = VX.TYPE_BOOL,

		/// <summary>
		/// Strongly typed for value TYPE_RECTANGLE.
		/// </summary>
		Rectangle = VX.TYPE_RECTANGLE,

		/// <summary>
		/// Strongly typed for value TYPE_KEYPOINT.
		/// </summary>
		Keypoint = VX.TYPE_KEYPOINT,

		/// <summary>
		/// Strongly typed for value TYPE_COORDINATES2D.
		/// </summary>
		Coordinates2d = VX.TYPE_COORDINATES2D,

		/// <summary>
		/// Strongly typed for value TYPE_COORDINATES3D.
		/// </summary>
		Coordinates3d = VX.TYPE_COORDINATES3D,

		/// <summary>
		/// Strongly typed for value TYPE_COORDINATES2DF.
		/// </summary>
		Coordinates2df = VX.TYPE_COORDINATES2DF,

		/// <summary>
		/// Strongly typed for value TYPE_USER_STRUCT_START.
		/// </summary>
		UserStructStart = VX.TYPE_USER_STRUCT_START,

		/// <summary>
		/// Strongly typed for value TYPE_VENDOR_STRUCT_START.
		/// </summary>
		VendorStructStart = VX.TYPE_VENDOR_STRUCT_START,

		/// <summary>
		/// Strongly typed for value TYPE_KHRONOS_OBJECT_START, TYPE_REFERENCE.
		/// </summary>
		KhronosObjectStart = VX.TYPE_KHRONOS_OBJECT_START,

		/// <summary>
		/// Strongly typed for value TYPE_KHRONOS_OBJECT_START, TYPE_REFERENCE.
		/// </summary>
		Reference = VX.TYPE_REFERENCE,

		/// <summary>
		/// Strongly typed for value TYPE_VENDOR_OBJECT_START.
		/// </summary>
		VendorObjectStart = VX.TYPE_VENDOR_OBJECT_START,

		/// <summary>
		/// Strongly typed for value TYPE_KHRONOS_STRUCT_MAX.
		/// </summary>
		KhronosStructMax = VX.TYPE_KHRONOS_STRUCT_MAX,

		/// <summary>
		/// Strongly typed for value TYPE_USER_STRUCT_END.
		/// </summary>
		UserStructEnd = VX.TYPE_USER_STRUCT_END,

		/// <summary>
		/// Strongly typed for value TYPE_VENDOR_STRUCT_END.
		/// </summary>
		VendorStructEnd = VX.TYPE_VENDOR_STRUCT_END,

		/// <summary>
		/// Strongly typed for value TYPE_KHRONOS_OBJECT_END.
		/// </summary>
		KhronosObjectEnd = VX.TYPE_KHRONOS_OBJECT_END,

		/// <summary>
		/// Strongly typed for value TYPE_VENDOR_OBJECT_END.
		/// </summary>
		VendorObjectEnd = VX.TYPE_VENDOR_OBJECT_END,

		/// <summary>
		/// Strongly typed for value TYPE_CONTEXT.
		/// </summary>
		Context = VX.TYPE_CONTEXT,

		/// <summary>
		/// Strongly typed for value TYPE_GRAPH.
		/// </summary>
		Graph = VX.TYPE_GRAPH,

		/// <summary>
		/// Strongly typed for value TYPE_NODE.
		/// </summary>
		Node = VX.TYPE_NODE,

		/// <summary>
		/// Strongly typed for value TYPE_KERNEL.
		/// </summary>
		Kernel = VX.TYPE_KERNEL,

		/// <summary>
		/// Strongly typed for value TYPE_PARAMETER.
		/// </summary>
		Parameter = VX.TYPE_PARAMETER,

		/// <summary>
		/// Strongly typed for value TYPE_DELAY.
		/// </summary>
		Delay = VX.TYPE_DELAY,

		/// <summary>
		/// Strongly typed for value TYPE_LUT.
		/// </summary>
		Lut = VX.TYPE_LUT,

		/// <summary>
		/// Strongly typed for value TYPE_DISTRIBUTION.
		/// </summary>
		Distribution = VX.TYPE_DISTRIBUTION,

		/// <summary>
		/// Strongly typed for value TYPE_PYRAMID.
		/// </summary>
		Pyramid = VX.TYPE_PYRAMID,

		/// <summary>
		/// Strongly typed for value TYPE_THRESHOLD.
		/// </summary>
		Threshold = VX.TYPE_THRESHOLD,

		/// <summary>
		/// Strongly typed for value TYPE_MATRIX.
		/// </summary>
		Matrix = VX.TYPE_MATRIX,

		/// <summary>
		/// Strongly typed for value TYPE_CONVOLUTION.
		/// </summary>
		Convolution = VX.TYPE_CONVOLUTION,

		/// <summary>
		/// Strongly typed for value TYPE_SCALAR.
		/// </summary>
		Scalar = VX.TYPE_SCALAR,

		/// <summary>
		/// Strongly typed for value TYPE_ARRAY.
		/// </summary>
		Array = VX.TYPE_ARRAY,

		/// <summary>
		/// Strongly typed for value TYPE_IMAGE.
		/// </summary>
		Image = VX.TYPE_IMAGE,

		/// <summary>
		/// Strongly typed for value TYPE_REMAP.
		/// </summary>
		Remap = VX.TYPE_REMAP,

		/// <summary>
		/// Strongly typed for value TYPE_ERROR.
		/// </summary>
		Error = VX.TYPE_ERROR,

		/// <summary>
		/// Strongly typed for value TYPE_META_FORMAT.
		/// </summary>
		MetaFormat = VX.TYPE_META_FORMAT,

		/// <summary>
		/// Strongly typed for value TYPE_OBJECT_ARRAY.
		/// </summary>
		ObjectArray = VX.TYPE_OBJECT_ARRAY,

		/// <summary>
		/// Strongly typed for value TYPE_TENSOR.
		/// </summary>
		Tensor = VX.TYPE_TENSOR,

	}

	/// <summary>
	/// Strongly typed enumeration VendorId.
	/// </summary>
	public enum VendorId
	{
		/// <summary>
		/// Strongly typed for value ID_KHRONOS.
		/// </summary>
		Khronos = VX.ID_KHRONOS,

		/// <summary>
		/// Strongly typed for value ID_TI.
		/// </summary>
		Ti = VX.ID_TI,

		/// <summary>
		/// Strongly typed for value ID_QUALCOMM.
		/// </summary>
		Qualcomm = VX.ID_QUALCOMM,

		/// <summary>
		/// Strongly typed for value ID_NVIDIA.
		/// </summary>
		Nvidia = VX.ID_NVIDIA,

		/// <summary>
		/// Strongly typed for value ID_ARM.
		/// </summary>
		Arm = VX.ID_ARM,

		/// <summary>
		/// Strongly typed for value ID_BDTI.
		/// </summary>
		Bdti = VX.ID_BDTI,

		/// <summary>
		/// Strongly typed for value ID_RENESAS.
		/// </summary>
		Renesas = VX.ID_RENESAS,

		/// <summary>
		/// Strongly typed for value ID_VIVANTE.
		/// </summary>
		Vivante = VX.ID_VIVANTE,

		/// <summary>
		/// Strongly typed for value ID_XILINX.
		/// </summary>
		Xilinx = VX.ID_XILINX,

		/// <summary>
		/// Strongly typed for value ID_AXIS.
		/// </summary>
		Axis = VX.ID_AXIS,

		/// <summary>
		/// Strongly typed for value ID_MOVIDIUS.
		/// </summary>
		Movidius = VX.ID_MOVIDIUS,

		/// <summary>
		/// Strongly typed for value ID_SAMSUNG.
		/// </summary>
		Samsung = VX.ID_SAMSUNG,

		/// <summary>
		/// Strongly typed for value ID_FREESCALE.
		/// </summary>
		Freescale = VX.ID_FREESCALE,

		/// <summary>
		/// Strongly typed for value ID_AMD.
		/// </summary>
		Amd = VX.ID_AMD,

		/// <summary>
		/// Strongly typed for value ID_BROADCOM.
		/// </summary>
		Broadcom = VX.ID_BROADCOM,

		/// <summary>
		/// Strongly typed for value ID_INTEL.
		/// </summary>
		Intel = VX.ID_INTEL,

		/// <summary>
		/// Strongly typed for value ID_MARVELL.
		/// </summary>
		Marvell = VX.ID_MARVELL,

		/// <summary>
		/// Strongly typed for value ID_MEDIATEK.
		/// </summary>
		Mediatek = VX.ID_MEDIATEK,

		/// <summary>
		/// Strongly typed for value ID_ST.
		/// </summary>
		St = VX.ID_ST,

		/// <summary>
		/// Strongly typed for value ID_CEVA.
		/// </summary>
		Ceva = VX.ID_CEVA,

		/// <summary>
		/// Strongly typed for value ID_ITSEEZ.
		/// </summary>
		Itseez = VX.ID_ITSEEZ,

		/// <summary>
		/// Strongly typed for value ID_IMAGINATION.
		/// </summary>
		Imagination = VX.ID_IMAGINATION,

		/// <summary>
		/// Strongly typed for value ID_NXP.
		/// </summary>
		Nxp = VX.ID_NXP,

		/// <summary>
		/// Strongly typed for value ID_VIDEANTIS.
		/// </summary>
		Videantis = VX.ID_VIDEANTIS,

		/// <summary>
		/// Strongly typed for value ID_SYNOPSYS.
		/// </summary>
		Synopsys = VX.ID_SYNOPSYS,

		/// <summary>
		/// Strongly typed for value ID_CADENCE.
		/// </summary>
		Cadence = VX.ID_CADENCE,

		/// <summary>
		/// Strongly typed for value ID_HUAWEI.
		/// </summary>
		Huawei = VX.ID_HUAWEI,

		/// <summary>
		/// Strongly typed for value ID_SOCIONEXT.
		/// </summary>
		Socionext = VX.ID_SOCIONEXT,

		/// <summary>
		/// Strongly typed for value ID_USER.
		/// </summary>
		User = VX.ID_USER,

		/// <summary>
		/// Strongly typed for value ID_MAX.
		/// </summary>
		Max = VX.ID_MAX,

		/// <summary>
		/// Strongly typed for value ID_DEFAULT.
		/// </summary>
		Default = VX.ID_DEFAULT,

	}

	/// <summary>
	/// Strongly typed enumeration vx_border_tiling_e.
	/// </summary>
	public enum vx_border_tiling_e
	{
		/// <summary>
		/// Strongly typed for value BORDER_MODE_SELF.
		/// </summary>
		BorderModeSelf = VX.BORDER_MODE_SELF,

	}

	/// <summary>
	/// Strongly typed enumeration vx_ext_import_types_e.
	/// </summary>
	public enum vx_ext_import_types_e
	{
		/// <summary>
		/// Strongly typed for value IMPORT_TYPE_XML.
		/// </summary>
		ImportTypeXml = VX.IMPORT_TYPE_XML,

	}

	/// <summary>
	/// Strongly typed enumeration vx_import_attribute_e.
	/// </summary>
	public enum vx_import_attribute_e
	{
		/// <summary>
		/// Strongly typed for value IMPORT_ATTRIBUTE_COUNT.
		/// </summary>
		ImportAttributeCount = VX.IMPORT_ATTRIBUTE_COUNT,

		/// <summary>
		/// Strongly typed for value IMPORT_ATTRIBUTE_TYPE.
		/// </summary>
		ImportAttributeType = VX.IMPORT_ATTRIBUTE_TYPE,

	}

	/// <summary>
	/// Strongly typed enumeration vx_kernel_attribute_tiling_e.
	/// </summary>
	public enum vx_kernel_attribute_tiling_e
	{
		/// <summary>
		/// Strongly typed for value KERNEL_INPUT_NEIGHBORHOOD.
		/// </summary>
		KernelInputNeighborhood = VX.KERNEL_INPUT_NEIGHBORHOOD,

		/// <summary>
		/// Strongly typed for value KERNEL_OUTPUT_TILE_BLOCK_SIZE.
		/// </summary>
		KernelOutputTileBlockSize = VX.KERNEL_OUTPUT_TILE_BLOCK_SIZE,

		/// <summary>
		/// Strongly typed for value KERNEL_BORDER.
		/// </summary>
		KernelBorder = VX.KERNEL_BORDER,

		/// <summary>
		/// Strongly typed for value KERNEL_TILE_MEMORY_SIZE.
		/// </summary>
		KernelTileMemorySize = VX.KERNEL_TILE_MEMORY_SIZE,

		/// <summary>
		/// Strongly typed for value KERNEL_INPUT_TILE_BLOCK_SIZE.
		/// </summary>
		KernelInputTileBlockSize = VX.KERNEL_INPUT_TILE_BLOCK_SIZE,

		/// <summary>
		/// Strongly typed for value KERNEL_OUTPUT_NEIGHBORHOOD.
		/// </summary>
		KernelOutputNeighborhood = VX.KERNEL_OUTPUT_NEIGHBORHOOD,

	}

	/// <summary>
	/// Strongly typed enumeration vx_kernel_nn_ext_e.
	/// </summary>
	public enum vx_kernel_nn_ext_e
	{
		/// <summary>
		/// Strongly typed for value KERNEL_CONVOLUTION_LAYER.
		/// </summary>
		KernelConvolutionLayer = VX.KERNEL_CONVOLUTION_LAYER,

		/// <summary>
		/// Strongly typed for value KERNEL_FULLYCONNECTED_LAYER.
		/// </summary>
		KernelFullyconnectedLayer = VX.KERNEL_FULLYCONNECTED_LAYER,

		/// <summary>
		/// Strongly typed for value KERNEL_POOLING_LAYER.
		/// </summary>
		KernelPoolingLayer = VX.KERNEL_POOLING_LAYER,

		/// <summary>
		/// Strongly typed for value KERNEL_SOFTMAX_LAYER.
		/// </summary>
		KernelSoftmaxLayer = VX.KERNEL_SOFTMAX_LAYER,

		/// <summary>
		/// Strongly typed for value KERNEL_NORMALIZATION_LAYER.
		/// </summary>
		KernelNormalizationLayer = VX.KERNEL_NORMALIZATION_LAYER,

		/// <summary>
		/// Strongly typed for value KERNEL_ACTIVATION_LAYER.
		/// </summary>
		KernelActivationLayer = VX.KERNEL_ACTIVATION_LAYER,

		/// <summary>
		/// Strongly typed for value KERNEL_ROIPOOLING_LAYER.
		/// </summary>
		KernelRoipoolingLayer = VX.KERNEL_ROIPOOLING_LAYER,

		/// <summary>
		/// Strongly typed for value KERNEL_DECONVOLUTION_LAYER.
		/// </summary>
		KernelDeconvolutionLayer = VX.KERNEL_DECONVOLUTION_LAYER,

	}

	/// <summary>
	/// Strongly typed enumeration vx_nn_activation_function_e.
	/// </summary>
	public enum vx_nn_activation_function_e
	{
		/// <summary>
		/// Strongly typed for value NN_ACTIVATION_LOGISTIC.
		/// </summary>
		NnActivationLogistic = VX.NN_ACTIVATION_LOGISTIC,

		/// <summary>
		/// Strongly typed for value NN_ACTIVATION_HYPERBOLIC_TAN.
		/// </summary>
		NnActivationHyperbolicTan = VX.NN_ACTIVATION_HYPERBOLIC_TAN,

		/// <summary>
		/// Strongly typed for value NN_ACTIVATION_RELU.
		/// </summary>
		NnActivationRelu = VX.NN_ACTIVATION_RELU,

		/// <summary>
		/// Strongly typed for value NN_ACTIVATION_BRELU.
		/// </summary>
		NnActivationBrelu = VX.NN_ACTIVATION_BRELU,

		/// <summary>
		/// Strongly typed for value NN_ACTIVATION_SOFTRELU.
		/// </summary>
		NnActivationSoftrelu = VX.NN_ACTIVATION_SOFTRELU,

		/// <summary>
		/// Strongly typed for value NN_ACTIVATION_ABS.
		/// </summary>
		NnActivationAbs = VX.NN_ACTIVATION_ABS,

		/// <summary>
		/// Strongly typed for value NN_ACTIVATION_SQUARE.
		/// </summary>
		NnActivationSquare = VX.NN_ACTIVATION_SQUARE,

		/// <summary>
		/// Strongly typed for value NN_ACTIVATION_SQRT.
		/// </summary>
		NnActivationSqrt = VX.NN_ACTIVATION_SQRT,

		/// <summary>
		/// Strongly typed for value NN_ACTIVATION_LINEAR.
		/// </summary>
		NnActivationLinear = VX.NN_ACTIVATION_LINEAR,

	}

	/// <summary>
	/// Strongly typed enumeration vx_nn_enum_e.
	/// </summary>
	public enum vx_nn_enum_e
	{
		/// <summary>
		/// Strongly typed for value ENUM_NN_ROUNDING_TYPE.
		/// </summary>
		EnumNnRoundingType = VX.ENUM_NN_ROUNDING_TYPE,

		/// <summary>
		/// Strongly typed for value ENUM_NN_POOLING_TYPE.
		/// </summary>
		EnumNnPoolingType = VX.ENUM_NN_POOLING_TYPE,

		/// <summary>
		/// Strongly typed for value ENUM_NN_NORMALIZATION_TYPE.
		/// </summary>
		EnumNnNormalizationType = VX.ENUM_NN_NORMALIZATION_TYPE,

		/// <summary>
		/// Strongly typed for value ENUM_NN_ACTIVATION_FUNCTION_TYPE.
		/// </summary>
		EnumNnActivationFunctionType = VX.ENUM_NN_ACTIVATION_FUNCTION_TYPE,

	}

	/// <summary>
	/// Strongly typed enumeration vx_nn_norm_type_e.
	/// </summary>
	public enum vx_nn_norm_type_e
	{
		/// <summary>
		/// Strongly typed for value NN_NORMALIZATION_SAME_MAP.
		/// </summary>
		NnNormalizationSameMap = VX.NN_NORMALIZATION_SAME_MAP,

		/// <summary>
		/// Strongly typed for value NN_NORMALIZATION_ACROSS_MAPS.
		/// </summary>
		NnNormalizationAcrossMaps = VX.NN_NORMALIZATION_ACROSS_MAPS,

	}

	/// <summary>
	/// Strongly typed enumeration vx_nn_pooling_type_e.
	/// </summary>
	public enum vx_nn_pooling_type_e
	{
		/// <summary>
		/// Strongly typed for value NN_POOLING_MAX.
		/// </summary>
		NnPoolingMax = VX.NN_POOLING_MAX,

		/// <summary>
		/// Strongly typed for value NN_POOLING_AVG.
		/// </summary>
		NnPoolingAvg = VX.NN_POOLING_AVG,

	}

	/// <summary>
	/// Strongly typed enumeration vx_nn_rounding_type_e.
	/// </summary>
	public enum vx_nn_rounding_type_e
	{
		/// <summary>
		/// Strongly typed for value NN_DS_SIZE_ROUNDING_FLOOR.
		/// </summary>
		NnDsSizeRoundingFloor = VX.NN_DS_SIZE_ROUNDING_FLOOR,

		/// <summary>
		/// Strongly typed for value NN_DS_SIZE_ROUNDING_CEILING.
		/// </summary>
		NnDsSizeRoundingCeiling = VX.NN_DS_SIZE_ROUNDING_CEILING,

	}

	/// <summary>
	/// Strongly typed enumeration vx_node_attribute_tiling_e.
	/// </summary>
	public enum vx_node_attribute_tiling_e
	{
		/// <summary>
		/// Strongly typed for value NODE_INPUT_NEIGHBORHOOD.
		/// </summary>
		NodeInputNeighborhood = VX.NODE_INPUT_NEIGHBORHOOD,

		/// <summary>
		/// Strongly typed for value NODE_OUTPUT_TILE_BLOCK_SIZE.
		/// </summary>
		NodeOutputTileBlockSize = VX.NODE_OUTPUT_TILE_BLOCK_SIZE,

		/// <summary>
		/// Strongly typed for value NODE_TILE_MEMORY_SIZE.
		/// </summary>
		NodeTileMemorySize = VX.NODE_TILE_MEMORY_SIZE,

		/// <summary>
		/// Strongly typed for value NODE_INPUT_TILE_BLOCK_SIZE.
		/// </summary>
		NodeInputTileBlockSize = VX.NODE_INPUT_TILE_BLOCK_SIZE,

		/// <summary>
		/// Strongly typed for value NODE_OUTPUT_NEIGHBORHOOD.
		/// </summary>
		NodeOutputNeighborhood = VX.NODE_OUTPUT_NEIGHBORHOOD,

	}

}
